package cn.nuc.edu.onlinestore.dao;

import java.util.List;
import java.util.Map;

import cn.nuc.edu.onlinestore.entity.SysFunction;
import cn.nuc.edu.onlinestore.entity.Sysrole;

/**
 * 角色DAO接口规范
 * @author 王凯
 *
 */
public interface RoleMapper {
	
	/**
	 * 获取系统角色列表(全部，不分页)
	 * @return 查询结果
	 */
	public List<Sysrole> listAll();

	/**
	 * 获取系统角色列表(分页)
	 * 
	 * @param role 角色
	 * @param pc 分页控制实体
	 * @return 查询结果
	 */
	public List<Sysrole> list(Map<String, Object> parammap);
	
	/**
	 * 获得总记录数
	 * @return
	 */
	public Integer getAllCount();
	
	/**
	 * 添加角色
	 * @param role 系统角色实体
	 * @return 执行插入操作受影响的行数,>0表示增加操作成功
	 */
	public Integer add(Sysrole role);
	
	/**
	 * 分配权限初始化页面数据
	 * @param role 角色实体（只携带角色id）
	 * @return 功能列表
	 */
	public List<SysFunction> initfunlist(Sysrole role);
	
	/**
	 * 获取角色的详细信息
	 * @param role 角色实体（只携带角色id）
	 * @return 角色的详细信息
	 */
	public Sysrole detail(Sysrole role);
	
	/**
	 * 编辑角色信息
	 * 
	 * @param role 已经修改好的信息
	 * @return 修改操作受影响的行数，>0表示修改成功
	 */
	public Integer edit(Sysrole role);
	
	/**
	 * 删除旧的权限
	 * @param roleid 角色id
	 * @return
	 */
	public Integer deleteoldright(Integer roleid);
	
	/**
	 * 增加新的权限
	 * @return
	 */
	public Integer addnewright(Map<String, Object> parammap);
}
